package proyecto.DataAccessObject;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import proyecto.EntityBeans.RequisitoConocimientos;

@Stateless
@Remote(RequisitoConocimientosDAORemote.class)
public class RequisitoConocimientosDAO implements RequisitoConocimientosDAORemote {
	
	@PersistenceContext
	EntityManager entityManager;


	public int save (RequisitoConocimientos requisito){		
		try{			
			entityManager.persist(requisito);			
		} 
		catch(Exception e){
			e.printStackTrace();
		}		
		return requisito.getIdRequisitosConocimientos();
	}
	

	public RequisitoConocimientos findById(int id) {
		return entityManager.find(RequisitoConocimientos.class, id);		
	}
	
		
	public void merge(RequisitoConocimientos requisito) {
		try{						
			entityManager.merge(requisito);
		} 
		catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public List findByName(String name)
	{	     
	      return entityManager.createQuery("select r from RequisitoConocimientos r where r.nombre = :nombre").setParameter("nombre", name).getResultList();
	}
	
	public List findAll() {		
		return entityManager.createQuery("from RequisitoConocimientos").getResultList();
	}
	
	public List findByIdList(int id)
	{	     
	      return entityManager.createQuery("select r from RequisitoConocimientos r where r.idRequisitosConocimientos = :idRequisitosConocimientos").setParameter("idRequisitosConocimientos", id).getResultList();
	}
	
		
	public void remove(int idRequisitosConocimientos){	
		entityManager.remove(entityManager.find(RequisitoConocimientos.class, idRequisitosConocimientos));
	}
	
}
